package cn.edu.sdjzu.knoverse.service;

import cn.edu.sdjzu.knoverse.model.dto.system.router.AssignRolesToRoutersDto;
import cn.edu.sdjzu.knoverse.model.entity.system.RouterRole;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * 系统菜单和角色 服务
 */
public interface RouterRoleService extends IService<RouterRole> {

    /**
     * * 根据路由id获取所有角色
     *
     * @param routerId 路由id
     * @return 角色列表
     */
    List<String> getRoleListByRouterId(Long routerId);

    /**
     * * 为菜单分配角色
     *
     * @param dto 路由分配角色
     */
    void assignRolesToRouter(AssignRolesToRoutersDto dto);

    /**
     * 清除选中菜单所有角色
     *
     * @param routerIds 路由id
     */
    void clearAllRolesSelect(List<Long> routerIds);

    /**
     * 批量为菜单添加角色
     *
     * @param dto 路由分配角色
     */
    void assignAddBatchRolesToRouter(AssignRolesToRoutersDto dto);
}
